A cloud computing network is a highly-scalable, dynamic service, which allows cloud computing providers to provide resources to customers over the Internet. The cloud infrastructure provides a layer of abstraction, such that customers do not require knowledge of the specific infrastructure within the cloud that provides the requested resources. Such a service helps consumers avoid capital expenditure on extra hardware for peak usage, as customers can use the extra resources in the cloud for heavy loads, while using the infrastructure already in place in a private enterprise network for everyday use.
For example, systems such as infrastructure as a service (IaaS), allow customers to rent computers on which to run their own computer applications. Such systems allow scalable deployment of resources, wherein customers create virtual machines, i.e., server instances, to run software of their choice. Customers can create, use, and destroy these virtual machines as needed, with the provider usually charging for the active servers used.
Existing services, however, do not treat allocated resources like resources inside the private enterprise network. This may cause problems, for example, when applications send data to specific locations or when the internal network and the cloud network use different address spaces or addressing schemes. There are also problems associated with isolating cloud resources from malicious attacks and ensuring that connections to cloud network resources do not compromise the internal network infrastructure. In addition, customers may face added complexity in dealing with distinct sets of internal and cloud resources, instead of treating resources from both locations as equivalent.
Accordingly, there is a need beyond IaaS to seamlessly incorporate the resources allocated to a customer in the cloud network into the customer's existing private enterprise network. Such an extension would have all allocated cloud resources look and act similarly to the resources located within the private enterprise network. Such an implementation would allow an enterprise's workload to seamlessly spread over a dynamic mix of the resources of the dedicated private enterprise network and the allocated resources in the cloud topology.
In view of the foregoing, it would be desirable to seamlessly extend a private enterprise network to include resources in a cloud network. More specifically, it would be desirable to enable communications between resources in the private enterprise network and allocated resources in the cloud network so that customer could treat cloud resources in the same manner as resources on the private network. Other desirable aspects will be apparent to those of skill in the art upon reading and understanding the present specification.